package com.platform.usercenter.service;


import com.platform.usercenter.domain.CalLeaderPlan;
import com.platform.usercenter.domain.dto.CalLeaderPlanDTO;

import java.text.ParseException;
import java.util.List;

/**
 * 领导排班计划主Service接口
 * 
 * @author platform
 * @date 2023-10-04
 */
public interface ICalLeaderPlanService 
{
    /**
     * 查询领导排班计划主
     * 
     * @param id 领导排班计划主主键
     * @return 领导排班计划主
     */
    public CalLeaderPlan selectCalLeaderPlanById(Long id);

    /**
     * 查询领导排班计划主列表
     * 
     * @param calLeaderPlan 领导排班计划主
     * @return 领导排班计划主集合
     */
    public List<CalLeaderPlan> selectCalLeaderPlanList(CalLeaderPlanDTO calLeaderPlan);

    /**
     * 新增领导排班计划主
     * 
     * @param calLeaderPlan 领导排班计划主
     * @return 结果
     */
    public int addBatch(CalLeaderPlanDTO calLeaderPlan) throws ParseException;

    /**
     * 新增单条排班计划
     * @param calLeaderPlan
     * @return
     */
    int addSingle(CalLeaderPlanDTO calLeaderPlan);

    /**
     * 修改领导排班计划主
     * 
     * @param calLeaderPlan 领导排班计划主
     * @return 结果
     */
    public int updateCalLeaderPlan(CalLeaderPlan calLeaderPlan);

    /**
     * 批量删除领导排班计划主
     * 
     * @param ids 需要删除的领导排班计划主主键集合
     * @return 结果
     */
    public int deleteCalLeaderPlanByIds(List<Integer> ids);

    /**
     * 删除领导排班计划主信息
     * 
     * @param id 领导排班计划主主键
     * @return 结果
     */
    public int deleteCalLeaderPlanById(Long id);


    /**
     * 新增领导排班计划主(多个日期)
     *
     * @param calLeaderPlan 领导排班计划主
     * @return 结果
     */
    public int addBatchByDateArr(CalLeaderPlanDTO calLeaderPlan) throws ParseException;

}
